<?php
include('parametros.php');
include($URL_ACCESO.'aUsuario.php');
include($URL_ACCESO.'aRolUsuario.php');
	$correo= isset($_POST['correo']) ? $_POST['correo'] : null ;
//	$correo=$_POST['correo'];
	$user=explode('@',$correo);

	if(!isset($user[1])){
		$user=$user[0];
	}
	else{
		$user=$user[0];
	}	

	$password=isset($_POST['clave']) ? $_POST['clave'] : null ;	

	$ip=$_SERVER['REMOTE_ADDR'];
	// validando contra ldap
    $validaUsuario = new aUsuario;
    $objRolUsuario = new aRolUsuario;	
	
	//$ds=ldap_connect("ldap.petroperu.com.pe",389); 
	//if($ds){
		 //$vinculacion=ldap_bind($ds); 
		 //if($vinculacion==1){//vinculo exitoso
		 //	$researchItem=ldap_search($ds, "dc=petroperu,dc=com,dc=pe","(uid=$user)");
			//$result=ldap_count_entries($ds, $researchItem);
			//if ($result==1){//si existe el usuario en el ldap reguistro en BD				
				//registrar en BD			
					//$info = ldap_get_entries($ds, $researchItem);		
					$objUser = $validaUsuario->ValidaUsuario($info[0]["mail"][0]);//buscando si el user esta regitrado							
					if($objUser ->getCodUsuario()==''){//si no esta registrado,,...se registra
						$validaUsuario->insertUsuario($info[0]["mail"][0],$info[0]["cn"][0]);					
						//insertando roles de usuario
						$objRolUsuario->insertRolUsuario($correo,1,1,1);
												
						header("location: index.php?error=Usuario no existe");						
					}
					else{// si ya esta registrado!
						$searchItem=@ldap_bind($ds,$info[0]["dn"],$password);
						if(!$searchItem){					
							header("location: index.php?error=Contrasenia Incorrecta");
						}
						else{//verificando que el usuario este activo en la BD
							$objUserActivo = $validaUsuario->ValidaUsuarioActivo($info[0]["mail"][0]);
							if($objUserActivo->getCodUsuario()!=''){//encontro usuario activo
								$validaUsuario->updateAccesoUserFecha($info[0]["mail"][0]);
								session_start();
								$_SESSION['correo']=$objUserActivo->getCodUsuario();		
								$_SESSION['nomUsu']=$objUserActivo->getnomUsuario();								
								$_SESSION['usuRol']=$objUserActivo->getRol() ;										
								$_SESSION['ultAcc']=$objUserActivo->getultimoAcceso() ;			
								$_SESSION['usuEst']=$objUserActivo->getestado() ;							
								$_SESSION['itemSession']=$objUserActivo->getitem() ;								
								$_SESSION['codUsuario']=$objUserActivo->getCodUsuario() ;												
								$_SESSION['sessionId']=md5(rand());
								session_encode();
								header("location: ".URL_PATH."panel.php");									
							}
							else{
								header("location: index.php?error=Usuario se Encuentra Inactivo");
							}
						}
					}
			/*}
			else{
				header("location: index.php?error=Usuario no Existe en el Directorio");
			}
		 }
		 else{
			return ldap_error();
 		 }	*/ 	
	//}
	//else{
	//	return 'NO HAY ALINEAMIENTO CON EL LDAP';
	//}
   ldap_close($ds);
?>